// 原型链继承

/**

缺点：
引用类型的属性被所有实例共享
在创建Child 的实例时， 不能向Person传参

*/



function Person(){
    this.name = 'xiaopao';
    this.nameArr = ['red', 'blue', 'green'];
}

Person.prototype.getName = function(){
    console.log(this.name,this.nameArr);
}

Person.prototype.setName = function(name){
    this.name = name;
    this.nameArr.push(name);
    console.log(this.name,this.nameArr);
}

function Child(){
    
}

Child.prototype = new Person();
var person1 = new Person();
var child1 = new Child();
var child2 = new Child();
child1.getName();           
child1.setName('mama');     
child1.getName();           
child2.getName();           
person1.getName();          
console.log(child1 instanceof Person);

// xiaopao [ 'red', 'blue', 'green' ]
// mama [ 'red', 'blue', 'green', 'mama' ]
// mama [ 'red', 'blue', 'green', 'mama' ]
// xiaopao [ 'red', 'blue', 'green', 'mama' ]
// xiaopao [ 'red', 'blue', 'green' ]
// true